home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / gui / gui4cli.lha / Gui4Cli / Docs / Tutorials / ShowPic.gc < prev    next >
Encoding:
Gui4CLI script  |  1999-12-03  |  2.4 KB  |  78 lines

  1. G4C
  2.  
  3. ; -----------------------------------------------------------
  4. ; Example of how to load and show an image on a new screen
  5. ; fast. It also uses the Palette command.
  6. ; -----------------------------------------------------------
  7. ; =======================================================
  8.  
  9. winbig 0 0 0 0 ''   ; screen sized window, no title..
  10. wintype 00001100    ; borderless window
  11. screen myscreen     ; use the screen we'll create below
  12.  
  13. ; The image (alias "mybgpic") will be shown by using it
  14. ; as the background for the above window..
  15.  
  16. WinBackGround image mybgpic 0
  17.  
  18. ; -----------------------------------------------------------
  19. ; On loading we create a screen and then call the routine
  20. ; that will ask for, load and show a picture. The picture is
  21. ; loaded as "mybgpic" and shown as the background of our
  22. ; window. We load another pic on RMB..
  23. ; -----------------------------------------------------------
  24.  
  25. xOnLoad
  26.     makescreen myscreen 640/512/8/0x8004 ""
  27.     gosub #this LoadPic
  28.  
  29. xOnRMB
  30.     gosub #this LoadPic
  31.  
  32. ; -----------------------------------------------------------
  33. ; On closing (ie when the file requester is cancelled) we quit,
  34. ; freeing the image and closing the screen..
  35. ; -----------------------------------------------------------
  36.  
  37. xOnQuit
  38.     guiclose #this
  39.     killscreen myscreen
  40.     freeimage mybgpic
  41.  
  42. ; -----------------------------------------------------------
  43. ; Load picture and display it..
  44. ; -----------------------------------------------------------
  45.  
  46. xRoutine LoadPic
  47.     local x/y/w/h ; local throw-away vars..
  48.  
  49.     ; reset the main 4 colors on the new screen, so that the
  50.     ; ASL requester is visible..
  51.     setcolor #this 0 9 9 10
  52.     setcolor #this 1 0 0 0
  53.     setcolor #this 2 15 15 15
  54.     setcolor #this 3 15 10 5
  55.     
  56.     ; get picture name
  57.     picname = ''
  58.     ReqFile  -1 -1 300 -40 "Choose Background:" LOAD picname sys:
  59.  
  60.     if $picname > ''                      ; if user selected a picture..
  61.         guiclose #this                     ; close window (if it was open)
  62.  
  63.         freeimage mybgpic                  ; free previous image (if any)
  64.         loadimage $picname mybgpic NOREMAP ; load new - no need to remap.
  65.  
  66.         info image mybgpic                 ; resize & center window using-
  67.         x = $((640-$$image.w)/2)           ; info from internal vars
  68.         y = $((512-$$image.h)/2)
  69.         changegad #this 0 $x $y $$image.w $$image.h ""
  70.  
  71.         guiopen #this                      ; re-open window
  72.         palette set mybgpic myscreen       ; set new palette..
  73.  
  74.     else                                  ; if user cancelled, quit..
  75.         guiquit #this
  76.     endif
  77.  
  78.